Pular para o conteúdo principal

Quickstart Flutter

Este guia ajudará você a implementar o SDK do Group Link em sua aplicação escrita para o framework Flutter.

Requisitos

  • Software necessário:
    • IDE (VSCode ou Android Studio)
    • Ambiente Flutter

Passo 1 - Obtendo o SDK

Para obter nosso plugin Flutter, execute o seguinte comando no diretório raiz do seu projeto a partir do terminal na raiz do seu projeto Flutter.

flutter pub add flutter_grouplink_sdk

(Opcional) Resolvendo arquivos ausentes para builds.

Adicione o repositório JitPack ao seu arquivo de build. Adicione-o no seu build.gradle raiz no final dos repositórios:

repositories {
google()
mavenCentral()
...
...
//ADICIONAR repositório Jitpack
maven { url "https://jitpack.io" }
}

Passo 2 - Importando o SDK

Em seguida, importe nosso SDK no arquivo main.dart para acessar todas as funções do SDK. Abaixo está um exemplo para referência.

import 'package:flutter_grouplink_sdk/flutter_grouplink_sdk.dart';

Passo 3 - Configurando as especificidades da plataforma

Especificidades do iOS

Para garantir o funcionamento adequado do plugin em dispositivos iOS, você precisa inserir strings específicas no arquivo info.plist da sua aplicação. Essas strings estão relacionadas a permissões e capacidades do aplicativo. Você pode encontrar instruções detalhadas sobre como inseri-las consultando a documentação Permissões Necessárias para iOS.

Passo 4 - Chamando as funções do SDK

Agora que você instalou e importou corretamente o plugin do SDK, basta chamar as funções Flutter no seu arquivo main.dart. Recomendamos inicializar o SDK do Group Link no início da sua aplicação na função void main() da sua aplicação, após o runApp, ou no initState. Além disso, é recomendado utilizar o await. Abaixo está outro exemplo de como iniciar o SDK do Group Link. Para o iOS, você precisará instanciar o GroupLinkSDKPlugin:

final _flutterGrouplinkSdkPlugin = GroupLinkSDKPlugin();

E, após isso, chamar o StartSDK:

_flutterGrouplinkSdkPlugin.StartSDK(TOKEN);
void main() async { 
// ...
runApp(const MyApp());
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
}

Solicitando permissões de Bluetooth e Localização

Se o seu aplicativo não solicitar permissões de Bluetooth ou Localização, o SDK do Group Link pode lidar com esse processo para você. No entanto, ainda é necessário pedir ao usuário essas permissões para que o SDK funcione corretamente. Você pode iniciar esse processo chamando as funções startBluetooth(), startLocation().

void main() async {
WidgetsFlutterBinding.ensureInitialized();
// ...
runApp(const MyApp());
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
// Solicitando a permissão de Bluetooth e localização do usuário;
await _flutterGrouplinkSdkPlugin.startBluetooth();
await _flutterGrouplinkSdkPlugin.startLocation();
}

Se preferir, pode ser criada uma nova classe, contendo os métodos que serão utilizados, e chama-lo após o runApp, ou no initState.

void main() async {
WidgetsFlutterBinding.ensureInitialized();
// ...
runApp(const MyApp());
// Chamando classe que contém os métodos do SDK Flutter da Group Link
_flutterGroupLinkSdkMethods();
}
void _flutterGroupLinkSdkMethods() async {
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
// Solicitando a permissão de Bluetooth e localização do usuário;
await _flutterGrouplinkSdkPlugin.startBluetooth();
await _flutterGrouplinkSdkPlugin.startLocation();
}

Ou

@override
void initState() {
super.initState();
// Chamando classe que contém os métodos
_sdkMethods();
}

void _flutterGroupLinkSdkMethods() async {
// Iniciando o SDK do Group Link
await _flutterGrouplinkSdkPlugin.startSDK("GROUP_LINK_TOKEN");
// Solicitando a permissão de Bluetooth e localização do usuário;
await _flutterGrouplinkSdkPlugin.startBluetooth();
await _flutterGrouplinkSdkPlugin.startLocation();
}

Acessando o usuário pelo userID

O userID é uma String opcional identificadora, única a cada usuário da rede Group Link. Ao usar esse IF, você pode identificar quando um usuário específico está próximo de um dos seus dispositivos.

void main() async {
// Acessando a rede Group Link pelo userID;
String? userID = await GroupLinkSDKPlugin().getUserId();
runApp(const MyApp());
}

Etapa 5 - Configurando o recurso de Notificações Push

Para utilizar nossas notificações personalizadas no painel, você precisa chamar a função GroupLinkSDKPlugin().setNotificationToken. Esta função espera um parâmetro String, que representa o token de notificação do usuário. No iOS, esse token é fornecido pelo APNS (Apple Push Notification Service), enquanto no Android, é obtido pelo Firebase Cloud Messaging.

Para recuperar esse token, você pode usar o plugin Firebase Messaging para Flutter e invocar o método getToken. Aqui está um exemplo para orientá-lo:

Android

void main() async {
FirebaseMessaging.instance.getToken().then((value) {
if (value != null) {
GroupLinkSDKPlugin().setNotificationToken(value);
}
});
runApp(const MyApp());
}

iOS

void main() async {
FirebaseMessaging.instance.getAPNSToken().then((value) => {
if (value != null) {
GroupLinkSDKPlugin().setNotificationToken(value);
}
});
runApp(const MyApp());
}

Além disso, você também pode configurar nossas KPIs de notificações. No entanto, esteja atento que essa funcionalidade está disponível atualmente apenas para implementação nativa. Para iOS, você pode consultar o tutorial Notificações Push para iOS para saber como configurar a Extensão do Serviço de Notificação, que permitirá integrar e configurar as KPIs de notificações.

Agora com o SDK do Group Link em sua aplicação, utilize seus recursos de forma integrada.